import router from "../../router";

const tagsView = {
  namespaced: true,
  state: {
    //tags数组
    tags: [{
      name: '首页',
      url: '/home'
    }],
    //tagsView标签显示隐藏
    isCollapse: false,
  },

  mutations: {
    pushTags(state, val) {
      //如果等于-1说明tabs不存在那么插入，否则什么都不做
      //findindex找角标，循环判断一下，如果等于那么就代表有相同的，就不必添加，如果找不到那就是-1.就添加
      let result = state.tags.findIndex((item) => item.name === val.name);
      result === -1 ? state.tags.push(val) : "";
    },
    //关闭标签
    closeTab(state, val) {
      //同上，找角标，然后用角标的位置对应删除一位。splice：这是数组的删除方法
      let result = state.tags.findIndex((item) => item.name === val.name);
      state.tags.splice(result, 1);
    },
    //关闭所有tagsView标签
    clearTagsView(state, val) {
      //清空数组
      state.tags = [];
      //跳转到首页,val接受传过来的当前路由
      if (val !== "/") {
        router.push({ path: "/" });
      }
    },
    //改变tagsView显示隐藏
    changeIsShow(state) {
      state.isCollapse = !state.isCollapse;
    },
    initTags(state, val) {
      state.tags = val
    },
  },
  actions: {},
};

export default tagsView;
